#ifndef INSTRUCTION_H_
#define INSTRUCTION_H_
#include "Operation.h"
//enum Operation {hop=0, infect=1, go=2, left=3, right=4, ifEmpty=5, ifEnemy=6, ifRandom=7, ifWall=8};
/**
* represents the creature internal programing 
*/
class Instruction{
       public:
               int operation;
               int step;

		Instruction(){
			operation=-1;
			step=0;
		}
		
		/**
		* constructor
		* @param op operator value
		* @param st branch address
		*/
               Instruction(int op, int st):
                       operation(op),
                       step(st){}

		/**
		* get operation
		* @return operation
		*/
		int getOp(){return operation;}
		/**
		* get the address to branch to
		* @return branch address
		*/
		int getStep(){return step;}
		/**
		* set operator
		* @param x new operator
		*/
		void setOp(int x){operation=x;}
		/**
		* set branch address
		* @param x new branch address
		*/
		void setStep(int x){step=x;}
		
};

#endif /* INSTRUCTION_H_ */
